グラフでパラメータを使用すると、グラフをレポートに接続できます。レポートをグラフに連結するフィールドのパラメータを設定することにより、レポートはパラメータを介して情報をグラフに渡すことができます。
このチュートリアルは、パラメータを使用して、レポートとグラフをリンクさせる方法について説明します。
このトピックでは、以下のタスクを行います。
- Visual StudioプロジェクトにActiveReportを追加する
- レポートをデータソースに接続する
- データを表示するコントロールを追加する
- パラメータを使用してグラフのデータソースを設定する
- グラフのプロパティを設定する
- レポートを表示する
 |
メモ:このチュートリアルはNWindデータベースを使用しています。NorthWindデータベース(Nwind.mdb)へのアクセス権限が必要です。 |
チュートリアルを完了すると、次のようなレポートが作成されます。
VisualStudioプロジェクトにActiveReportを追加する
- Visual Studioで新規プロジェクトを開きます。
- [プロジェクト]メニューから [新しい項目の追加]を選択します。
- [新しい項目を追加]ダイアログから[ActiveReports 12.0J セクションレポート(XML)]を選択し、ファイル名を「rptChartParams」に変更します。
- [追加]ボタンをクリックします。
詳細は、「プロジェクトにレポートを追加する」を参照します。
レポートをデータソースに接続する
- Detailセクションのバンド上にあるデータソースのアイコンをクリックします。
- [レポートデータソース]ダイアログで、[接続文字列]の横にある[OLE DB]タブにある[作成]ボタンをクリックします。
- [データリンクプロパティ]ウィンドウで、[Microsoft Jet 4.0 OLE DB Provider]を選択し、[次へ]ボタンをクリックして、[接続]タブへ移動します。
- (...)をクリックし、Nwind.mdbへのアクセスパスを参照します。アクセスパスの選択が完了したら、[開く]をクリックします。
- [接続のテスト]ボタンをクリックし、データベースへの接続を確認します。
- [OK]をクリックし、[レポートデータソース]ダイアログに戻ります。[接続文字列]フィールドで、テキストが自動的に追加されます。
-
[OLE DB]タブの[クエリ]フィールドに以下のSQLクエリを入力します。
| SQLクエリ |
コードのコピー
|
SELECT * FROM Products ORDER BY CategoryID, ProductName
|
- [OK] をクリックし、レポートのに戻ります。
データを表示するコントロールを追加する
- レポートのページヘッダを削除するために、ページヘッダまたはページフッタを選択した後、右クリックして[削除]を選択します。
- レポートのデザイナ面を右クリックし、[挿入]を選択して、[グループヘッダ/フッタ]を選択します。
- グループヘッダのセクションを選択して、[プロパティ]ウィンドウで以下の変更を加えます。
| プロパティ名 |
プロパティの値 |
| Name |
ghCategoryID |
| DataField |
CategoryID |
| GroupKeepTogether |
All |
| Height |
5.65(インチ) |
- DetailセクションのHeightプロパティを0.23インチに変更します。
- ツールボックスからグループヘッダのセクションに以下のコントロールを追加し、[プロパティ]ウィンドウから以下のプロパティを設定します。
TextBox
| プロパティ名 |
プロパティの値 |
| DataField |
CategoryID |
| Name |
txtCategoryID |
| Text |
CategoryID |
| Location |
3.72, 0 in |
Chart
| プロパティ名 |
プロパティの値 |
| Name |
ChartControl |
| Location |
0, 0.313 in |
Label1
| プロパティ名 |
プロパティの値 |
| Name |
lblCategoryID |
| Text |
カテゴリーID |
| Location |
1.78, 0 in |
Label2
| プロパティ名 |
プロパティの値 |
| Name |
lblProductName |
| Text |
製品名 |
| Location |
0.23, 5.43 in |
Label3
| プロパティ名 |
プロパティの値 |
| Name |
lblUnitsInStock |
| Text |
在庫数 |
| Location |
5, 5.43 in |
- ツールボックスから、Detailセクションに[Textbox]コントロールを2つ追加し、[プロパティ]ウィンドウから以下のプロパティを設定します。
TextBox1
| プロパティ名 |
プロパティの値 |
| DataField |
ProductName |
| Name |
txtProductName |
| Text |
ProductName |
| Location |
0.23, 0 in |
TextBox2
| プロパティ名 |
プロパティの値 |
| DataField |
UnitsInStock |
| Name |
txtUnitsInStock |
| Text |
UnitsInStock |
| Location |
5, 0 in |
パラメータを使用してグラフのデータソースを設定する
-
[Chart]コントロールを選択し、[プロパティ]ウィンドウの下にある[グラフデータ ソース]コマンドを選択します。 詳細は、「[プロパティ]ウィンドウ」を参照してください。
 |
ヒント: [コマンド]セクションにアクセスするには、[プロパティ]ウィンドウを右クリックして[コマンド]を選択します。 |
- [グラフデータソース]ダイアログで、[作成]ボタンをクリックします。
- [データリンクプロパティ]ウィンドウで、[Microsoft Jet 4.0 OLE DB Provider]を選択し、 [次へ]ボタンをクリックします。
- (...)をクリックし、Northwindデータベースを参照します。ファイルを選択したら、[開く]をクリックします。
- [OK] ボタンをクリックし、接続文字列を読み込みます。
-
[クエリ] フィールドに、以下のSQLクエリを入力します。
| SQLクエリ |
コードのコピー
|
| SELECT * FROM Products WHERE CategoryID = <%CategoryID||1%> ORDER BY ProductName |
 |
注意:
- パラメータを使用する場合、グラフはデザイン時に描画されませんが、実行時には描画されます。
- 両方のSQLステートメント(レポートとグラフのステートメント)でORDERを設定しないと、グラフデータは並び替えられません。
|
- [OK]をクリックします。
グラフのプロパティを設定する
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、ChartAreas(Collection)をクリックし、表示される(...)をクリックします。
- [ChartArea コレクションエディター]で、defaultAreaプロパティの下のAxes(Collection)プロパティをクリックし、表示される(...)をクリックします。
-
[AxisBase コレクションエディター]で、以下のプロパティを設定します。
AxisBase
- AxisXメンバをクリックし、そのLabelFontのAngleプロパティを「-90」に設定して、製品名のラベル(lblProductName)が重ならないようにします。
- Titleプロパティからテキストを削除します。
- AxisYメンバをクリックし、そのTitleプロパティを「在庫数」に設定します。
- AxisYメンバで、MajorTickプロパティツリービューのGridLineを展開し、以下のプロパティを設定します。
| プロパティ |
プロパティの値 |
| Style |
Dot |
| Color |
Silver |
| Weight |
1 |
- [OK]をクリックし、[ChartArea コレクションエディター]に戻ります。
- [OK]をクリックして、デザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、Series (Collection)をクリックし、表示される(...)をクリックします。
-
[Series コレクションエディター]で、以下のプロパティを設定します。
Series
- Series1をクリックして選択します。
- ValueMembersYプロパティをUnitsInStockに変更します。
- ValueMemberXプロパティをProductNameに変更します。
- Series2とSeries3を削除します。
- [OK]をクリックして、デザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウに、Titles (Collection)をクリックし、表示される(...)をクリックします。
-
[Titles コレクションエディター]で、以下のプロパティを設定します。
Titles
- headerプロパティで、Textプロパティを 「製品の在庫」に変更します。
- footerを削除し、[OK]をクリックしてデザイナ面に戻ります。
- [Chart]コントロールを選択しながら、[プロパティ]ウィンドウでは Legends(Collection)プロパティをクリックし、表示される(...)をクリックします。
-
[Legend コレクションエディター]で、以下のプロパティを設定します。
Legends
- defaultLegendのVisibleプロパティをFalseに変更します。
- [OK]をクリックして、デザイナ面に戻ります。
レポートを表示する
- デザイン時にレポートを表示するには、プレビュータブをクリックします。
または